package com.example.adminserivce.Service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.common.domain.dto.search.StudentSearchDto;
import com.example.common.domain.pojo.Student;

public interface StudentService extends IService<Student> {

    Page<Student> pageByCriteria(Page<Student> page, StudentSearchDto searchDto);

    // 根据ID查询学生（缓存穿透策略）
    Student getStudentById(String id);

    // 根据ID查询学生（逻辑过期策略）
    Student getStudentByIdWithLogicalExpire(String id);

    // 新增学生
    Student saveStudent(Student student);

    // 更新学生信息
    Student updateStudent(Student student);

    // 删除学生
    void deleteStudent(String id);

}
